#!/bin/bash
##############################################################################
###       获取本机IP
##############################################################################
function get_network_info(){
  #获取本机IP地址
  local_ip=$(ifconfig | grep netmask | grep -v 127.0.0.1 | awk '{ print $2 }')
  #获取网关IP地址
  gateway_ip=$(route -n | grep "0.0.0.0" | awk '{ print $2 }' | grep -v "0.0.0.0")
  #获取DNS地址
  dns_ip=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')

  echo -e "本服务器的网卡IP地址为:\n\e[32m $local_ip \e[0m"
  echo -e "本服务器的网关IP地址为:\n\e[32m $gateway_ip \e[0m"
  echo -e "本服务器的DNS IP地址为:\n\e[32m $dns_ip \e[0m"
}

##############################################################################
###       ping
##############################################################################
function ping0() {
  ping $1 -c3
  if [ $? -eq 0 ]; then
    echo -e "\e[32m 主机 $local_ip 到IP地址 $1 网络可达\e[0m"
  else
    echo -e "\e[31m 主机 $local_ip 到IP地址 $1 网络不可达\e[0m"
  fi
}

##############################################################################
###       使用率
##############################################################################
function use_ratio(){
 util=$(vmstat | awk '{if(NR==3)print $13+$14}')
 iowait=$(vmstat | awk '{if(NR==3)print $16}')
 echo "CPU -使用率：${util}% ,等待磁盘IO相应使用率：${iowait}:${iowait}%"

 total=`free -m |awk '{if(NR==2)printf "%.1f",$2/1024}'`
 used=`free -m |awk '{if(NR==2) printf "%.1f",($2-$NF)/1024}'`
 available=`free -m |awk '{if(NR==2) printf "%.1f",$NF/1024}'`
 echo "内存 - 总大小: ${total}G , 使用: ${used}G , 剩余: ${available}G"

 fs=$(df -h |awk '/^\/dev/{print $1}')
 for p in $fs; do
    mounted=$(df -h |awk '$1=="'$p'"{print $NF}')
    size=$(df -h |awk '$1=="'$p'"{print $2}')
    used=$(df -h |awk '$1=="'$p'"{print $3}')
    used_percent=$(df -h |awk '$1=="'$p'"{print $5}')
    echo "硬盘 - 挂载点: $mounted , 总大小: $size , 使用: $used , 使用率: $used_percent"
 done
}